// SETUP

#include intrographics.txt
#include ladyluckbiggraphics.txt

setdatapath("data/graphics/cutscenes/witch/");

var witchgraphics = {
	idle: {
		animation: "witch_idle.json",
		pack: "witch.pck",
		loop: true
	},
	worried_idle: {
		animation: "witch_worried_idle.json",
		pack: "witch.pck",
		loop: true
	},
	transform: {
		animation: "witch_transform.json",
		pack: "witch.pck",
		speed: 2,
		loop: false
	}
}
var witch = addsprite("witch", 1, witchgraphics);

// HELPER FUNCTIONS	

function signanimate(sign) {
	var s = sign.show("turn");
	//s.onComplete(function() { resume(); sign.show("loop"); });
	//pause();
	while(!s.completed) {
		// do nothing
	}
	sign.show("loop");
}

function fadein_sprite(sprite, time) {
	return;
	sprite.alpha = 0.0;
	Actuate.tween(sprite, time, { alpha: 1.0 });
	wait(time);
}

function fadeout_sprite(sprite, time) {
	return;
	Actuate.tween(sprite, time, { alpha: 0.0 });
	wait(time);
}

var fade_time = 0.4;

// ACTORS

actor("Lady Luck", screenwidthmid + 800, 550, Col.YELLOW, CENTER, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
actor("Witch", 2600, 600, 0xb496ec, RIGHT, TOP, "chat_witch", "characters/witch/charicon_witch");
// INTRO

play("music_cutscene_cheery");

changebackground("intro_sign");

sign.y = -screenheight;
ladyluck_sign.y = -screenheight;
sign.show("loop");
ladyluck_sign.show("idle");

Actuate.tween(sign, 2, { y: 0 }).ease(Expo.easeOut);
Actuate.tween(ladyluck_sign, 2, { y: 0 }).ease(Expo.easeOut);

wait(0.5);

fadein();
play("cutscene_audience");

wait(1.5);

ladyluck_sign.show("talking", true);
speak("Lady Luck", "It’s time to meet our final contestant - an aspiring|vlogger who’s cast a spell over us all!");
speak("Lady Luck", "Here she is -");
speak("Lady Luck", "the social media medium –");
speak("Lady Luck", "ready to enter the Dungeons as...");
ladyluck_sign.show("idle", true);

fadeout();
while(isfading()) {
	// do nothing
}
changebackground("intro_transform");
sign.hide();
ladyluck_sign.hide();
fadein();

witch.x = screenwidth;
var transform = witch.show("transform");
Actuate.tween(witch, 2, { x: 0 }).ease(Expo.easeOut);

var marker_human = false;
var marker_dice = false;
while(true) {	
	if(!marker_human && transform.marker == "human") {
		marker_human = true;
		transform.paused = true;
    speak("Lady Luck", "... the Witch!");
    play("transformintodice");
		transform.paused = false;
	} else if(!marker_dice && transform.marker == "dice") {
		marker_dice = true;
		transform.paused = true;
    actor("Witch", screenwidthmid, screenheightmid - 540, 0xb496ec, CENTER, BOTTOM, "chat_witch", "characters/witch/charicon_witch");
    speak("Witch", "Oh my god, I’m really a dice!", "personality");
    speak("Witch", "Is this a new chat filter?", "thinking");
    fadeout();
	  break;
	}
}

while(isfading()) {
	// do nothing
}

witch.scale = 0.5;
witch.x = 2700 - ((witch.getwidth("idle") * witch.scale) / 2);
witch.y = 650;
changebackground("intro_stage");
fadein();
witch.show("idle");

ladyluck_big.x = -screenwidth;
ladyluck_big.show("idle");
Actuate.tween(ladyluck_big, 2, { x: 0 }).ease(Expo.easeOut);

play("cutscene_audience");

actor("Witch", 2680, 730, 0xb496ec, CENTER, BOTTOM, "chat_witch", "characters/witch/charicon_witch");
speak("Witch", "And Lady Luck, I can’t believe I’m|meeting you in person!", "personality");
speak("Witch", "Can I get a selfie?", "thinking");

ladyluck_big.show("talking", true);
actor("Lady Luck", screenwidthmid + 240, screenheightmid - 240, Col.YELLOW, RIGHT, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
speak("Lady Luck", "There’ll be plenty of time for that later,|my little flatterer.");
speak("Lady Luck", "Now, what has lured you to my realms of mystery?", "thinking");
ladyluck_big.show("idle", true);

speak("Witch", "Honestly, I’m just SO happy to be here.");
speak("Witch", "I’m super excited to go wherever fate takes me!");

ladyluck_big.show("talking-sly", true);
actor("Lady Luck", screenwidthmid + 240, screenheightmid - 280, Col.YELLOW, RIGHT, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
speak("Lady Luck", "You know that if you don’t ask for something specific,|you won’t get a prize, even if you win?", "sly");
ladyluck_big.show("idle-sly", true);

speak("Witch", "...Oh!");
speak("Witch", "Hmm, in that case how about...|ten million followers.", "thinking");
speak("Witch", "Real ones too, not bots this time...", "worried");

ladyluck_big.show("talking", true);
actor("Lady Luck", screenwidthmid + 240, screenheightmid - 240, Col.YELLOW, RIGHT, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
speak("Lady Luck", "That’s more like it. Now let’s play!");
ladyluck_big.show("idle", true);

play("cutscene_audience");

startgamefromcutscene();